---
title: "Container Reception Management System"
space: "Icd tz"
url: "https://support.aakvatech.com/ICD TZ/container-reception-management-system"
updated: "2026-07-22"
---

 # User Manual for Container Reception Management System

## 1. Overview
The **Container Reception Management System** is a module in **Frappe ERPNext** designed to handle the reception of containers arriving at an ICD (Inland Container Depot). It enables users to register containers, verify their details, track their movements, and ensure proper documentation is maintained.

## 2. Key Features
- **Container Reception Logging:** Registers received containers with key details.
- **Automatic Data Fetching:** Retrieves container details from the manifest and movement order.
- **Container Storage Management:** Tracks container locations and updates storage days.
- **Condition Assessment:** Allows input for container condition upon arrival.
- **Validation Checks:** Ensures no duplicate container receptions are created.
- **Role-Based Access:** Ensures only authorized users can create, modify, or submit container reception records.
- **Integration with Other Modules:** Links with the **Manifest**, **Container Movement Order**, and **Container Management** modules.

## 3. Pre-Requisites
Before using this module, ensure the following:
- **ERPNext and Frappe Installed** (v13 or later recommended).
- **User Role Permissions Configured** (e.g., System Manager, Container Manager).
- **Container Movement Order Exists** (Reception records should be linked to a valid movement order).
- **Manifest Data is Available** (Container details should exist in the Manifest system).

## 4. Step-by-Step Usage
### Step 1: Creating a New Container Reception Record
1. Navigate to the **Container Reception** list.
2. Click **New** to create a new record.
3. Select the **Movement Order** (this auto-fills fields like *manifest, port, ship, and voyage number*).
4. Enter the **Container Number** (this auto-fetches container details like *size, volume, weight, and seals*).
5. Select the **Container Location** where it is being stored.
6. Assign the responsible **Clerk** and **Security Officer**.
7. Click **Save** to store the record.

### Step 2: Validating the Container Details
1. Ensure all auto-fetched details are correct.
2. Manually input missing details (if any).
3. Confirm the **place of destination** and **country of destination**.

### Step 3: Submitting the Container Reception Record
1. Ensure all mandatory fields (*container number, movement order, location, clerk, and security officer*) are filled.
2. Click **Submit** to finalize the container reception.
3. The system automatically creates a **Container** record linked to this reception.

## 5. Script Customizations
- **Automatic Data Fetching from Manifest & Movement Order**
  - The system fetches container details from the manifest:
    ```js
    frappe.call({
        method: "icd_tz.icd_tz.doctype.container_reception.container_reception.get_container_details",
        args: {
            manifest: frm.doc.manifest,
            container_no: frm.doc.container_no
        },
        callback: (r) => {
            if (r.message) {
                frm.set_value("size", r.message.container_size);
                frm.set_value("weight", r.message.weight);
            }
        }
    });
    ```
- **Duplicate Container Reception Prevention**
  - Before saving, the system checks for duplicate reception records:
    ```python
    def validate_duplicate_cr(self):
        if self.movement_order:
            duplicates = frappe.qb.from_(cr).select(cr.name).where(
                (cr.movement_order == self.movement_order) & (cr.name != self.name)
            ).run(as_dict=True)
            if duplicates:
                frappe.throw("Duplicate Container Reception detected!")
    ```

## 6. Troubleshooting (Common Errors and Resolutions)
| Error | Cause | Solution |
|-------|-------|----------|
| *Container Number cannot be empty* | Missing required field | Ensure a container is selected before saving |
| *Invalid port selection* | Data mismatch in movement order | Verify the port details in the Movement Order |
| *Duplicate Container Reception* | Another record exists with the same Movement Order | Check existing records before creating a new one |
| *Submission restricted* | User lacks permissions | Verify that the user has submission rights under system settings |

## 7. User Roles and Permissions
### Roles Available:
- **System Manager:** Full control (create, edit, delete, submit, and manage container reception records).
- **Container Manager:** Can create, edit, and submit records but cannot delete them.
- **Read-Only Users:** Can view container reception details but cannot edit or modify them.

### Permissions Matrix
| Action | System Manager | Container Manager | Read-Only |
|--------|---------------|-------------------|-----------|
| Create Container Reception | ✅ | ✅ | ❌ |
| Edit Container Reception | ✅ | ✅ | ❌ |
| Submit Container Reception | ✅ | ✅ | ❌ |
| Delete Container Reception | ✅ | ❌ | ❌ |
| View Container Reception | ✅ | ✅ | ✅ |

## 8. Key Notes
- Ensure all **required fields** are filled before saving a reception record.
- The **search function** enables filtering based on *Container Number, Movement Order, and Port*.
- Properly link reception records to the relevant **Movement Order** and **Manifest** for accurate tracking.
- **Submission workflow** ensures only authorized users can finalize records.

---

This manual serves as a complete guide to managing **Container Reception** records in ERPNext. For further assistance, contact the **System Administrator** or refer to **Frappe Documentation**.

